#ifndef QLINEANALYZER_H
#define QLINEANALYZER_H

#include <QStringList>

#include "qleditem.h"
#include "qresistoritem.h"
#include "qcapacitoritem.h"
#include "qselfitem.h"

class QLineAnalyzer
{

public:
	~QLineAnalyzer();
	static QLineAnalyzer* instance();
	QBDDItem* analyze(QStringList header,QStringList value);
private:
	QLineAnalyzer();
	static QLineAnalyzer* m_instance;

	template <class T>
	T* match(QStringList,QStringList);
};
#define __extract(__HEADER__,__VALUES__) QLineAnalyzer::instance()->analyze(__HEADER__,__VALUES__)
#endif // QLINEANALYZER_H
